package demo.generic;

import lombok.Data;

/**
 * @author 折戟沉沙铁未销
 * @version V1.0
 * @date 2020/7/5-2020
 * @Description: 泛型类例子
 */
@Data
public class GenericClassExample<T> {
    /**
     * member这个成员变量的类型为T。T的类型由外部指定。
     */
    private T member;

    /**
     * 构造方法
     * @param member
     */
    public GenericClassExample(T member){
        this.member=member;
    }

    /**
     * 做一些事情
     * @param target
     * @return
     */
    public T handleSomething(T target){
        return target;
    }

    /**
     * 做一些其他的事情
     * @return
     */
    public String doOtherThing(){
        return "otherThing";
    }

    /**
     * 泛型方法--打印泛型数组中的内容
     * @param inputArray
     * @param <E>
     */
    public <E> void  printArray(E[] inputArray){
        for (E element: inputArray) {
            System.out.println(element);
        }
    }
}
